<ng-template #contentTpl>
  <ng-content></ng-content>
</ng-template>

<ng-container *ngIf="lvShowIcon">
  <ng-container [ngSwitch]="true">
    <ng-container *ngSwitchCase="typeUtils.isTemplateRef(lvIcon)" [ngTemplateOutlet]="lvIcon"></ng-container>
    <ng-container *ngSwitchCase="typeUtils.isRealString(lvIcon)">
      <span class="lv-alert-icon">
        <i [lv-icon]="lvIcon"></i>
      </span>
    </ng-container>
    <ng-container *ngSwitchDefault>
      <span class="lv-alert-icon">
        <i [lv-icon]="icons[lvType]" [@iconContent]="_animationState"></i>
      </span>
    </ng-container>
  </ng-container>
</ng-container>
<div class="lv-alert-content" [@iconContent]="_animationState">
  <ng-container [ngTemplateOutlet]="contentTpl"></ng-container>
</div>
<div class="lv-alert-action" *ngIf="lvAction">
  <ng-container *ngTemplateOutlet="lvAction"></ng-container>
</div>
<span *ngIf="lvClosable" class="lv-alert-btn-close" (click)="close()">
  <i lv-icon="lv-icon-close" lvColorState></i>
</span>
